# 自定义brew Formula for Icu4c 自定义版本
# 使用方法:
# 1. 直接指定rb文件安装： brew install icu4c@73.rb
# 2. 将icu4c@73.rb文件放到brew的默认Formula路径 然后执行 brew install icu4c@73
# 路径：/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/icu4c@73.rb
# 
# 注意下面的class名称，Icu4c 驼峰命名的要安装的软件名称 Icu4c，
# 后面的 AT 即 @ （@转换为slug命名即 AT）加大版本号 73 注意不能有特殊符号
class Icu4cAT73 < Formula
  # 软件描述信息
  desc "C/C++ and Java libraries for Unicode and globalization"
  # 软件提供商URL
  homepage "https://site.icu-project.org/home"
  # 软件包的下载地址
  url "https://github.com/unicode-org/icu/releases/download/release-73-2/icu4c-73_2-src.tgz"
  # 镜像地址
  #mirror "http://192.168.2.88/icu4c-73_2-src.tgz"
  # 版本号
  version "73.2"
  # 软件镜像包的 sha256签名信息，下载到本地可使用 openssl sha256 icu4c-73_2-src.tgz 命令来计算
  sha256 "818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1"
  # 版权
  license "GPL"

  # 新版本检测
  livecheck do
    # 要检测的URL地址
    url "https://github.com/unicode-org/icu/releases"
    # 正则提取版本信息
    regex(/href=.*?release-([0-9._-]+)"/i)
  end

  keg_only :provided_by_macos, "macOS provides libicucore.dylib (but nothing else)"

  # 安装方法
  def install
    # 定义./configure 配置参数
    args = %W[
      --prefix=#{prefix}
      --disable-samples
      --disable-tests
      --enable-static
      --with-library-bits=64
    ]
    # 注意默认路径是压缩包解压后的根目录，因为 进入到source目录
    cd "source" do
      system "./configure", *args
      system "make"
      system "make", "install"
    end
  end

  # 测试方法定义，这里可以定义多个测试项目
  test do
    if File.exist? "/usr/share/dict/words"
      system "#{bin}/gendict", "--uchars", "/usr/share/dict/words", "dict"
    else
      (testpath/"hello").write "hello\nworld\n"
      system "#{bin}/gendict", "--uchars", "hello", "dict"
    end
  end
end
